### Galileu Estava Certo?

## Avalie se um polinômio de terceiro grau é um melhor modelo para descrever os dados do experimento de Galileu.

# Criação dos objetos com os dados
init.h <- c(600, 700, 800, 950, 1100, 1300, 1500)
h.d <- c(253, 337, 395, 451, 495, 534, 573)

# Teste do modelo 1: primeiro grau
mod1 <- lm(h.d ~ init.h)

# Teste do modelo 2: segundo grau
mod2 <- update(mod1, .~. + I(init.h^2))

# Comparação dos dois modelos:
anova(mod1, mod2)
# Há uma diferença significativa, mostrando que o modelo de segundo grau é melhor que o de primeiro.

# Teste do modelo 3: terceiro grau
mod3 <- update(mod2, .~. + I(init.h^3))

# Comparação entre os dois modelos:
anova(mod2, mod3)
# Há uma diferençaa significativa, mostrando que o modelo de terceiro grau á melhor que o de segundo.

# Teste do modelo 4: quarto grau
mod4 <- update(mod3, .~. + I(init.h^4))

# Comparação entre os dois modelos:
anova(mod3, mod4)
# Não há diferença significativa. Com isso fica claro que o melhor modelo que melhor explica os dados de Galileu é um polinômio de terceiro grau.





### Massa de Recém-Nascidos

## Experimente todas as variáveis disponíveis no conjunto de dados "Massa ao Nascer e Dados da mãe"
## para chegar ao melhor modelo de previsão da massa de bebês ao nascer.

# Leitura da tabela:
dados <- read.table("babies.txt", header=TRUE)

# Correção de dados faltantes:
dados[which(dados$bwt==999),] <- NA
dados[which(dados$gestation==999),] <- NA
dados[which(dados$parity==9),] <- NA
dados[which(dados$age==99),] <- NA
dados[which(dados$height==99),] <- NA
dados[which(dados$weight==999),] <- NA
dados[which(dados$smoke==9),] <- NA

# Criação do modelo 1: com todas as variáveis, sem interação entre as variáveis
mod1 <- lm(bwt ~ gestation + parity + age + height + weight + smoke, data=dados)

# Teste do modelo 1:
anova(mod1)
# O teste não deu significativo para a variável "age", portanto é possível tirá-la do modelo.

# Criação do modelo 2: sem a variável "age"
mod2 <- lm(bwt ~ gestation + parity + height + weight + smoke, data=dados)

# Teste do modelo 2:
anova(mod2)
# Apesar de serem significativas (P-value abaixo de 0.05), as variáveis "parity" e "weight" não explicam tão bem os dados como as outras
# (F value baixo). Portanto, podemos excluí-las da análise.

# Criação do modelo 3: sem as variáveis "parity" e "weight"
mod3 <- lm(bwt ~ gestation + height + smoke, data=dados)

# Teste do modelo 3:
anova(mod3)
# Novamente, apesar da variável "height" ser significativa (P-value abaixo de 0.05), seu valor é bem abaixo das outras duas, sendo assim,
# excluida da análise. Com isso é possível afirmar que o melhor modelo para a previsão do peso do bebê leva em consideração se a mãe é
# fumante e o tempo de gestação.







